metalgearmoddingfandomcom-20200213-history
FCNP
The .fcnp format is used to define connection points for models in Metal Gear Solid V: Ground Zeroes and Metal Gear Solid V: The Phantom Pain. This format's documentation is still subject-to-change as it is still being researched. Header * 0x0 - 0x3 (uint32): Unknown, probably padding/null signature or version number. * 0x4 - 0x7 (uint32): End-of-File. * 0x8 - 0xB (uint32): Unknown, possibly the length of the header, as it is seemingly always "20 00 00 00" (0x20). * 0xC - 0xF (uint32): Unknown. * 0x10 - 0x13 (uint32): Unknown, always 0xC bytes before the first string at the bottom of the file. * 0x14 - 0x17 (uint32): Unknown, seemingly always "00 00 00 00". * 0x18 - 0x1B (uint32): Unknown, seemingly always "00 00 00 00". * 0x1C - 0x1F (uint32): Unknown, seemingly always "00 00 00 00". Section 0: Connection Point Definition Section * 0x0 - 0x3 (uint32): Unknown, similar to 0xC - 0xF in the header in composition. * 0x4 - 0x7 (uint32): Unknown, possibly an offset that leads to the string list, except for the fact that these count down at seemingly irregular intervals for each entry (for example: Entry 1 - 800, Entry 2 - 700, Entry 650, and so on). It could be the "_CNP" connection point bone name. * 0x8 - 0xB (uint32): Unknown, seemingly always "00 00 00 00". * 0xC - 0xF (uint32): Unknown, seemingly always "30 00 00 00". * 0x10 - 0x13 (uint32): Unknown, seemingly always "30 00 00 00". * 0x14 - 0x17 (uint32): Unknown, seemingly always "00 00 00 00". * 0x18 - 0x1B (uint32): Unknown, seemingly always "00 00 00 00". * 0x1C - 0x1F (uint32): Unknown, seemingly always "A0 FF FF FF", except for the first entry in every section. * 0x20 - 0x23 (uint32): Unknown, seemingly always "60 00 00 00". * 0x24 - 0x27 (uint32): Unknown, possibly an offset that leads to the string list (could be the connection point name) * 0x28 - 0x2B (uint32): Unknown, seemingly always "00 00 00 00". * 0x2C - 0x2F (uint32): Unknown, seemingly always "00 00 00 00". * 0x30 - 0x33 (binary32): Unknown, possibly the connection point's "x" position offset from the connection point bone. * 0x34 - 0x37 (binary32): Unknown, possibly the connection point's "y" position offset from the connection point bone. * 0x38 - 0x3B (binary32): Unknown, possibly the connection point's "z" position offset from the connection point bone. * 0x3C - 0x3F (binary32): Unknown, possibly the connection point's "w" position offset from the connection point bone. * 0x40 - 0x43 (binary32): Unknown, possibly the connection point's quaternion's "x" component. * 0x44 - 0x47 (binary32): Unknown, possibly the connection point's quaternion's "y" component. * 0x48 - 0x4B (binary32): Unknown, possibly the connection point's quaternion's "z" component. * 0x4C - 0x4F (binary32): Unknown, possibly the connection point's quaternion's "w" component. * 0x50 - 0x53 (binary32): Unknown, possibly the connection point's scale along the "x" axis. * 0x54 - 0x57 (binary32): Unknown, possibly the connection point's scale along the "y" axis. * 0x58 - 0x5B (binary32): Unknown, possibly the connection point's scale along the "z" axis. * 0x5C - 0x5F (binary32): Unknown, possibly the connection point's scale along the "w" axis. Section 1: Unknown This section has not yet been explored. Section 2: Strings This section is simply a list of strings, with every string, including the last one, being followed by a period (one null byte). Category:File Formats